Signal permuting is used to change the routing paths of signals to connect two interfaces whose sets of signal lines have different orderings. For example, as shown in FIG. 1A, if an interface 10 to input circuitry 11 has lines L0 to L3 that carry Control, Data 1, Data 2, and Ground signals, and a second interface 12 to output circuitry 13 has lines L0 to L3 that carry Data 1, Data 2, Ground, and Control signals, the input and output interfaces are coupled by a 4-by-4 permuting network 14 maps [L0, L1, L2, L3] to [L3, L0, L1, L2].
A permuting network can be implemented using switches. In FIG. 1B, the output of an n:1 switch 16 can reflect any one of its n inputs. By using a number of n:1 switches which receive the same set of n signals at their inputs, n signals can be permuted to any order at their output terminals. FIG. 1C shows a 2-by-2 permuting network implemented using two 2:1 switches 20, 22 that permutes the ordering of two signals S0 and S1.
An n:1 switch can be implemented using an n:1 multiplexer, a 2n×1 random access memory that has its contents written to reflect a single address input, or an n-input lookup-table in a field programmable gate array that is programmed to reflect any one of its inputs at its output. For each type of technology, the types of switches that can be most economically implemented may be different.